Networked devices are deployed in many applications to collect data, streamline and/or automate processes, monitor activities, and for other reasons. Some examples of these networked devices include fitness tracking devices, animal tags used for monitoring animals, lighting system controls, food and drink machines, payment service machines (e.g., parking meters, ticket dispensing machines, etc.), and automated teller machines (ATMs). These networked devices rely on networks to exchange information to and from a host device. However, these communications are often partially or fully automated, and thus do not require a user to request data from a particular device. In some instances, the networked devices may require or utilize an intermediary device to facilitate network connectivity, such as a fitness tracking device uploading data through a personal computer of a user.
An example of possible network communications may be illustrated by operation of a network-based parking meter. The parking meter may process payment instruments for users, and then transmit payment information over a network. Thus, these parking meters may not require an attendant to collect money from a storage receptacle in the parking meter, as was common with older parking meters. Besides payment information, the parking meters may transmit other information across a network, such as maintenance requests, activity reports, and so forth. The parking meters may receive data in some instances such as software updates or status requests. In some instances, a service technician may communicate directly with the particular parking meter to perform various operations, such as perform manual diagnostics.
The networked devices communicate with host devices through one or more service providers that provide connectivity between the networked devices and the host devices. For example, the host devices may be owned or controlled in part by a company that runs or manages the parking meters. To communicate with the networked devices, the host devices may use application program interfaces (APIs) or other custom software that is specific to a particular type of networked device. Using such software, the host devices may make requests for data from the networked devices, interpret data received from the networked devices, and/or otherwise interact with the networked devices. However, in some instances, the host devices may lack diagnostic tools to monitor, maintain, and/or service some or all deployed networked devices. In addition, creation of specific software for each networked device can be expensive and time consuming.